<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //1.数组方法里面的push pop unshift shift的作用分别是什么，他们的返回值又是什么？
      // push()
      //   - 参数：你要添加的数据，如果有多个就以逗号分隔
      //   - 作用：向数组末尾添加数据
      //   - 返回值：添加元素后数组的长度

      //   #### pop()
      //   - 参数：无
      //   - 作用：删除数组的最后一个数据
      //   - 返回值：被删除的数据
      //   #### unshift()
      //   - 参数：你要插入的数据
      //   - 作用：在数组的最前面插入一条数据
      //   - 返回值：添加数据以后数组的长度

      //   #### shift()
      //   - 参数：无
      //   - 作用：删除数组最前面的一个数据
      //   - 返回值：被删除的数据

      //2.移除数组 arr["西瓜","香蕉","菠萝"]中除西瓜外的所有元素，不要使用第二个数组

      // 第一种方法
      // arr = ['西瓜', '香蕉', '苹果', '榴莲'];
      // var res = arr.splice(0, 1);
      // console.log(res);
      // 第二种方法
      // var arr = ['西瓜', '香蕉', '菠萝'];
      // arr.length = 1;
      // console.log(arr);

      //3.移除数组 arr[1, 2, 3, 4, 2] 中的 2。不要直接修改数组 arr，结果返回新的数组

      var arr1 = [1, 2, 3, 4, 2];
      var arr2 = [];
      var arrArr = arr1.find(function (item) {
        if (item != 2) {
       arr2.push(item);
        }
      
      });
      // console.log(arr1); //原数组
      console.log(arr2); //新数组

      //4.定义一个函数,能在数组 arr[1, 2, 3, 4, 2] 的 "2"后面添加元素 "jack"。不要直接修改数组 arr，结果返回新的数组即调用函数后返回的结果为[1, 2,'jack',3, 4, 2,'jack']
      var arr3 = [1, 2, 3, 4, 2];
      var res = [];
      function fn(arr, num, str) {
        arr3.forEach((item) => {
          if (item == num) {
            res.push(item, str);
          } else {
            res.push(item);
          }
        });
        return res;
      }
      fn(arr3, 2, 'jack');
      console.log(res);

      //5.统计数组 arr[1, 2, 3, 4, 2] 中 2 出现的次数
      var arr4 = [1, 2, 3, 4, 2];
      var ref = 0;
      for (var i = 0; i < arr4.length; i++) {
        if (arr4[i] == 2) {
          ref++;
        }
      }
      console.log(ref + '次');
    </script>
  </body>
</html>
